Тонкая настройка и развёртывание
================================

Мы близки к завершению разработки приложения — системы управления блогом. Перед
развертыванием мы бы хотели сделать некоторые настройки.


Изменение домашней страницы
------------------

Будем использовать список записей в качестве домашней страницы. Для этого
изменим [конфигурацию приложения](/doc/guide/ru/basics.application#application-configuration)
следующим образом:

~~~
[php]
return array(
	…
	'defaultController'=>'post',
	…
);
~~~

> Tip|Подсказка: Поскольку контроллер `PostController` уже объявляет действие
`index` действием по умолчанию, то при обращении к домашней странице приложения
мы увидим результат, сгенерированный действием `index` контроллера записей.


Включение кэширования схемы
---------------------------

ActiveRecord полагается на метаданные о таблицах для определения
информации о столбце, поэтому тратится время для чтения метаданных и их
анализа. Это, возможно, не проблема на стадии разработки, но для рабочего
приложения это — пустая трата времени, если схема базы данных не изменяется.
Поэтому мы должны включить кэширование схемы, изменив конфигурацию приложения
следующим образом:

~~~
[php]
return array(
	…
	'components'=>array(
		…
		'cache'=>array(
			'class'=>'CDbCache',
		),
		'db'=>array(
			'class'=>'system.db.CDbConnection',
			'connectionString'=>'sqlite:/wwwroot/blog/protected/data/blog.db',
			'schemaCachingDuration'=>3600,
		),
	),
);
~~~

В коде выше мы сначала добавляем компонент `cache`, который использует базу
данных SQLite, определенную по умолчанию, как хранилище кэша. Если наш сервер
имеет другие кэширующие расширения, такие как APC, мы могли бы так же легко их
использовать. Мы также изменяем компонент `db`, устанавливая свойство
[schemaCachingDuration|CDbConnection::schemaCachingDuration] в значение 3600,
что означает, что полученные данные схемы базы данных могут оставаться
валидными в кэше в течение 3600 секунд.


Отключение дебаг-режима
------------------------

Изменим файл точки входа `/wwwroot/blog/index.php`, удалив строку, определяющую
константу `YII_DEBUG`. Эта константа полезна во время стадии разработки, потому
что позволяет Yii отображать больше информации об отладке при возникновении
ошибки. Однако, когда приложение выполняется в рабочем режиме, отображать
информацию об отладке — не очень хорошая идея, потому что она может содержать
секретную информацию, такую как расположение файла скрипта, содержание файла и др.


Развертывание приложения
-------------------------

Заключительное развертывание главным образом включает в себя копирование
директории `/wwwroot/blog` в целевую директорию. Следующий контрольный список
содержит все необходимые шаги:

 1. Установите Yii в место назначения, если он еще не установлен;
 2. Скопируйте всю директорию `/wwwroot/blog` в место назначения;
 3. Отредактируйте файл точки входа `index.php`, указав в переменной `$yii` путь к файлу начальной загрузки Yii;
 4. Отредактируйте файл `protected/yiic.php`, указав в переменной `$yiic` путь к новому файлу `yiic.php`;
 5. Измените права директорий `assets` и `protected/runtime` так, чтобы они имели доступ на перезапись процессом Web-сервера.